// Author: wsfuyibing <682805@qq.com>
// Date: 2025-06-11

package responses

import (
	"gitee.com/go-libs/db-xorm/db"
	"server/app/http/models"
	"server/app/kind"
)

// ArcadeCalendarResponse
// 日历数据.
type ArcadeCalendarResponse struct {
	Id                 int64         `label:"日历ID"`
	ArcadeId           kind.ArcadeId `label:"钓场ID"`
	Date               db.Date       `label:"日期"`
	Incomes            kind.Balance  `label:"收入金额"`
	Expenses           kind.Balance  `label:"支出金额"`
	OrderSaleAmount    kind.Balance  `label:"订单订单"`
	OrderSaleCount     int           `label:"订单数量"`
	OrderRefundAmount  kind.Balance  `label:"退单金额"`
	OrderRefundCount   int           `label:"退单数量"`
	TicketSaleAmount   kind.Balance  `label:"渔票销售金额"`
	TicketSaleCount    int           `label:"渔票销售数量"`
	TicketRefundAmount kind.Balance  `label:"渔票退单金额"`
	TicketRefundCount  int           `label:"渔票退单数量"`
	TicketLotsCount    int           `label:"需抽签数量"`
	TicketLotsDone     int           `label:"抽签完成数量"`
}

// With
// 数据绑定.
func (o *ArcadeCalendarResponse) With(m *models.ArcadeCalendar) *ArcadeCalendarResponse {
	o.Id = m.Id
	o.ArcadeId = m.ArcadeId
	o.Date = m.Date
	o.Incomes = m.Incomes
	o.Expenses = m.Expenses
	o.OrderSaleAmount = m.OrderSaleAmount
	o.OrderSaleCount = m.OrderSaleCount
	o.OrderRefundAmount = m.OrderRefundAmount
	o.OrderRefundCount = m.OrderRefundCount
	o.TicketSaleAmount = m.TicketSaleAmount
	o.TicketSaleCount = m.TicketSaleCount
	o.TicketRefundAmount = m.TicketRefundAmount
	o.TicketRefundCount = m.TicketRefundCount
	o.TicketLotsCount = m.TicketLotsCount
	o.TicketLotsDone = m.TicketLotsDone
	return o
}
